package com.mo.axion.handler.receiver.service;

import com.mo.axion.common.domain.RecallTaskInfo;
import com.mo.axion.common.domain.TaskInfo;

import java.util.List;

/**
 * @author Mo
 * @createTime 2024/2/17 17:02
 * @descripiton 消费消息服务
 */
public interface ConsumeService {
    /**
     * 从MQ拉取消息进行消费，发送消息
     * @param taskInfoList
     */
    void consume2Send(List<TaskInfo> taskInfoList);

    /**
     * 从MQ拉取消息消费，业务撤回消息
     * 如果有recallMessageId，则优先撤回recallMessageId
     * 如果没有 recallMessageId，则撤回整个模板的消息
     * @param recallTaskInfo
     */
    void consume2Recall(RecallTaskInfo recallTaskInfo);
}
